﻿//1456. 定长子串中元音的最大数目
//给你字符串 s 和整数 k 。
//请返回字符串 s 中长度为 k 的单个子字符串中可能包含的最大元音字母数。
//英文中的 元音字母 为（a, e, i, o, u）。


class Solution
{
public:
    bool check(char a)
    {
        if (a == 'a' || a == 'e' || a == 'i' || a == 'o' || a == 'u')
            return true;
        else
            return false;
    }

    int maxVowels(string s, int k)
    {
        int begin = 0, end = k - 1;
        int num = 0, ret = -1;
        for (int i = 0; i < k; i++)
        {
            if (check(s[i]))
            {
                num++;
            }
        }
        ret = num;
        int n = s.size();
        for (int i = 1; i <= n - k; i++)
        {
            //s[i+k-1]
            if (check(s[i + k - 1]))
            {
                //加入
                num++;
            }
            if (check(s[i - 1]))
            {
                //删除
                num--;
            }
            ret = max(num, ret);
        }
        return ret;
    }
};